package org.jsola.hr.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import org.jsola.core.dto.BaseDTO;

import javax.validation.constraints.NotNull;
import java.util.Date;

import static org.jsola.core.example.BaseExample.*;
import static org.jsola.hr.example.BookingsInfoExample.*;

/**
 * 预约业务人员信息表
 *
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "修改【预约业务人员信息表】的参数")
@Data
public class BookingsInfoUpdateDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID, required = true)
    @NotNull(message = M_ID_NOT_NULL)
    private Long id;

    @ApiModelProperty(notes = N_NAME, example = E_NAME, required = true)
    @NotNull(message = M_NAME_NOT_NULL)
    @Length(max = 50, message = M_NAME_MAX)
    private String name;

    @ApiModelProperty(notes = N_PHONE, example = E_PHONE, required = true)
    @NotNull(message = M_PHONE_NOT_NULL)
    @Length(max = 11, message = M_PHONE_MAX)
    private String phone;

    @ApiModelProperty(notes = N_USER_ID, example = E_USER_ID)
    @Length(max = 32, message = M_USER_ID_MAX)
    private String userId;

    @ApiModelProperty(notes = N_BOOKINGS_BUSINESS, example = E_BOOKINGS_BUSINESS)
    @Length(max = 50, message = M_BOOKINGS_BUSINESS_MAX)
    private String bookingsBusiness;

    @ApiModelProperty(notes = N_SERVICE_FALL, example = E_SERVICE_FALL)
    @Length(max = 50, message = M_SERVICE_FALL_MAX)
    private String serviceFall;

    @ApiModelProperty(notes = N_BOOKINGS_DAY, example = E_BOOKINGS_DAY, required = true)
    @NotNull(message = M_BOOKINGS_DAY_NOT_NULL)
    private Date bookingsDay;

    @ApiModelProperty(notes = N_BOOKINGS_DATETIME, example = E_BOOKINGS_DATETIME, required = true)
    @NotNull(message = M_BOOKINGS_DATETIME_NOT_NULL)
    @Length(max = 50, message = M_BOOKINGS_DATETIME_MAX)
    private String bookingsDatetime;

    @ApiModelProperty(notes = N_BOOKINGS_DATETIME_ID, example = E_BOOKINGS_DATETIME_ID, required = true)
    @NotNull(message = M_BOOKINGS_DATETIME_ID_NOT_NULL)
    private Long bookingsDatetimeId;

    @ApiModelProperty(notes = N_BUSINESS_ID, example = E_BUSINESS_ID, required = true)
    @NotNull(message = M_BUSINESS_ID_NOT_NULL)
    private Long businessId;

    @ApiModelProperty(notes = "原时间段Id", example = E_BOOKINGS_DATETIME_ID, required = true)
    @NotNull(message = M_BOOKINGS_DATETIME_ID_NOT_NULL)
    private Long oldBookingsDatetimeId;

    @ApiModelProperty(notes = "原主表Id", example = E_BUSINESS_ID, required = true)
    @NotNull(message = M_BUSINESS_ID_NOT_NULL)
    private Long oldBusinessId;


}

